#pragma once

#ifndef _CSTATUSEFFECTHANDLER_H_
#define _CSTATUSEFFECTHANDLER_H_

#include <windows.h>
#include <vector>

class CBaseEntity;

class CStatusEffectHandler
{
private:
	std::vector<CBaseEntity*> m_entityStatusEffectList;

protected:
	static CStatusEffectHandler * _instance;

public:
	CStatusEffectHandler();
	~CStatusEffectHandler();

	static DWORD WINAPI CStatusEffectHandler::StatusTimeServ(LPVOID lpParam);
	static CStatusEffectHandler * getInstance();
	void initialize();

	void addEntity(CBaseEntity * entity);
	void removeEntity(CBaseEntity * entity);
};

#endif